// Unix 系统的直接 IO 实现

//go:build !windows && !darwin && !openbsd && !plan9
// +build !windows,!darwin,!openbsd,!plan9

package turbocopy

import (
	"os"
	"syscall"
)

const (
	// 缓冲区对齐的大小
	AlignSize = 4096

	// 最小块大小
	BlockSize = 4096
)

// OpenFile 是 os.OpenFile 的修改版本，设置了 O_DIRECT 标志
func OpenFile(name string, flag int, perm os.FileMode) (file *os.File, err error) {
	return os.OpenFile(name, syscall.O_DIRECT|flag, perm)
}
